package com.csun.cmny.provider.service.impl;

import com.csun.cmny.base.dto.LoginAuthDto;
import com.csun.cmny.base.enums.ErrorCodeEnum;
import com.csun.cmny.core.support.BaseService;
import com.csun.cmny.provider.dao.DmcOldUserBindMapper;
import com.csun.cmny.provider.exceptions.DmcBizException;
import com.csun.cmny.provider.model.domain.DmcOldUserBind;
import com.csun.cmny.provider.model.dto.app.DmcPersonMainDto;
import com.csun.cmny.provider.service.DmcOldUserBindService;
import com.csun.cmny.provider.service.OmcRpcService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import javax.annotation.Resource;

@Service
@Slf4j
@Transactional(rollbackFor = Exception.class)
public class DmcOldUserBindServiceImpl extends BaseService<DmcOldUserBind> implements DmcOldUserBindService {

    @Resource
    private DmcOldUserBindMapper dmcOldUserBindMapper;

    @Resource
    private OmcRpcService omcRpcService;

//    @Override
//    public Integer userBindsOldman(DmcPersonMainDto dmcPersonMainDto, LoginAuthDto loginAuthDto) {
//
//
//        //在omc老人表中添加app录入的老人信息
//        AppOldmanDto appOldmanDto = new AppOldmanDto();
//        BeanUtils.copyProperties(dmcPersonMainDto,appOldmanDto);
//        Long oldmanId = omcRpcService.oldmanAppAddOldman(appOldmanDto);
//
//        if(oldmanId == null || oldmanId.equals(0)){
//            throw new DmcBizException(ErrorCodeEnum.DMC10067011);
//        }
//
//        //校验老人是否已经绑定
//        checkOldmanHasBound(oldmanId,loginAuthDto);
//
//        //绑定老人
//        DmcOldUserBind oldUserBind = new DmcOldUserBind();
//        oldUserBind.setUserId(loginAuthDto.getUserId());
//        oldUserBind.setOldManId(oldmanId);
//
//        return save(oldUserBind);
//    }

//    @Override
//    public Integer removeUserOldmanBind(Long oldmanId, LoginAuthDto loginAuthDto) {
//
//        DmcOldUserBind dmcOldUserBind = new DmcOldUserBind();
//        dmcOldUserBind.setOldManId(oldmanId);
//        dmcOldUserBind.setUserId(loginAuthDto.getUserId());
//        DmcOldUserBind ubQuery = selectOne(dmcOldUserBind);
//
//        if(ubQuery == null){
//            throw new DmcBizException(ErrorCodeEnum.DMC10067012);
//        }
//        return delete(dmcOldUserBind);
//    }
//
//    @Override
//    public Integer queryOldmanListOnApp(LoginAuthDto loginAuthDto) {
//        return null;
//    }
//
//    //校验老人是否已经绑定
//    public void checkOldmanHasBound(Long oldmanId,LoginAuthDto loginAuthDto){
//        DmcOldUserBind oldUserBind = new DmcOldUserBind();
//        oldUserBind.setOldManId(oldmanId);
//        oldUserBind = selectOne(oldUserBind);
//        if (oldUserBind != null && !oldUserBind.getUserId().equals(loginAuthDto.getUserId())) {
//            throw new DmcBizException(ErrorCodeEnum.DMC10067009);
//        }
//        if(oldUserBind != null && oldUserBind.getUserId().equals(loginAuthDto.getUserId())){
//            throw new DmcBizException(ErrorCodeEnum.DMC10067010);
//        }
//    }
}
